package cn.edu.wynu.operator;

public class OperatorDemo02 {
    public static void main(String[] args) {
        // 自增自减运算符，只能操作变量，不能操作常量或者字面量
        int a = 10;
        a++; // a=a+1
        // ++a; // a=a+1
        System.out.println(a); // a的值变为11
        a--; // a=a-1
        // --a; // a=a-1
        System.out.println(a); // a的值变为10

        // 2++; 错误，不能对常量进行自增自减操作

        System.out.println("-----------------------------");

        int b = 10;
        int b1 = ++b; // b=b+1; b1=b; 先加1，再赋值给b1
        System.out.println(b); // b的值变为11
        System.out.println(b1); // b1的值变为11

        int b2 = b++; // b2=b; b=b+1; 先赋值给b2，再加1
        System.out.println(b); // b的值变为12
        System.out.println(b2); // b2的值变为11

        System.out.println("-----------------------------");
        // 自增自减拓展
        int c = 10;
        int d = 5;
        // c 11 10 11
        // d 4 5
        //            11 - 4   + 11  - 5   + 11  + 3 = 27
        int result = ++c - --d + c-- - ++d + ++c + 3; //

        System.out.println(result);
        System.out.println(c); // c的值变为11
        System.out.println(d); // d的值变为5
    }
}
